import axios from "axios"
import { Message } from 'element-ui';
// 添加请求拦截器
axios.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    console.log(config);
    
    config.baseURL = process.env.VUE_APP_API_BASE_URL; // 这里使用了环境变量
    return config;
  }, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  });

// 添加响应拦截器
axios.interceptors.response.use(function (response) {
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么
    if(response.status==200){
        if(response.data.errCode !=10000){
            Message.error(response.data.errMsg)
            return Promise.reject(response.data.errMsg);
        }
        return response.data
    }
    return response;
  }, function (error) {
    if(error.code=='ERR_NETWORK'){
        Message.error('网络错误！')
    }
    console.log('error',error);
    
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    return Promise.reject(error);
  });

export const http = (url,parms={},data={},method='get') =>{
    return new Promise((resolve,reject)=>{ 
        axios({
            method,
            url,
            data, //post 、put、patch 参数
            parms, //get 、 delete 参数
        }).then(response=>{
            resolve(response)
        }).catch(erro=>{
            reject(erro)
        })
    }) 
}
export const get = (url , parmas={}) =>{
    return http(url,parmas,{},'get');
}
export const post = (url ,data={}, parmas={}) =>{
    return http(url,parmas,data,'post');
}